IDEA 全稱 IntelliJ IDEA,是java編程語言開發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具,尤其在智能代碼助手、代碼自動提示、重構(gòu)、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計等方面的功能可以說是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國的首都布拉格,開發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費(fèi)版只支持Java,Kotlin等少數(shù)語言。
IDEA所提倡的是智能編碼,是減少程序員的工作,IDEA的特色功能有以下22點(diǎn) :
⒈智能的選取
在很多時候我們要選取某個方法,或某個循環(huán)或想一步一步從一個變量到整個類慢慢擴(kuò)充著選取,IDEA就提供這種基于語法的選擇,在默認(rèn)設(shè)置中Ctrl+W,可以實現(xiàn)選取范圍的不斷擴(kuò)充,這種方式在重構(gòu)的時候尤其顯得方便。
⒉豐富的導(dǎo)航模式
IDEA提供了豐富的導(dǎo)航查看模式,例如Ctrl+E顯示最近打開過的文件,Ctrl+N顯示你希望顯示的類名查找框(該框同樣有智能補(bǔ)充功能,當(dāng)你輸入字母后IDEA將顯示所有候選類名)。在最基本的project視圖中,你還可以選擇多種的視圖方式。
⒊歷史記錄功能
不用通過版本管理服務(wù)器,單純的IDEA就可以查看任何工程中文件的歷史記錄,在版本恢復(fù)時你可以很容易的將其恢復(fù)。
⒋JUnit的完美支持
⒌對重構(gòu)的優(yōu)越支持
IDEA是所有IDE中最早支持重構(gòu)的,其優(yōu)秀的重構(gòu)能力一直是其主要賣點(diǎn)之一。
⒍編碼輔助
Java規(guī)范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用進(jìn)行任何的輸入就可以實現(xiàn)代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。
⒎靈活的排版功能
基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因為它支持排版模式的定制,你可以根據(jù)不同的項目要求采用不同的排版方式。
⒏XML的完美支持
xml全提示支持:所有流行框架的xml文件都支持全提示,誰用誰知道。
⒐動態(tài)語法檢測
任何不符合java規(guī)范、自己預(yù)定義的規(guī)范、累贅都將在頁面中加亮顯示。
⒑代碼檢查
對代碼進(jìn)行自動分析,檢測不符合規(guī)范的,存在風(fēng)險的代碼,并加亮顯示。
⒒對JSP的完全支持
不需要任何的插件,完全支持JSP。
⒓智能編輯
代碼輸入過程中,自動補(bǔ)充方法或類。
⒔EJB支持
不需要任何插件完全支持EJB(6.0 支持EJB3.0)
⒕列編輯模式
用過UtralEdit的肯定對其的列編輯模式贊賞不已,因為它減少了很多無聊的重復(fù)工作,而IDEA完全支持該模式,從而更加提高了編碼效率。
⒖預(yù)置模板
預(yù)置模板可以讓你把經(jīng)常用到的方法編輯進(jìn)模板,使用時你只用輸入簡單的幾個字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args){}你可以在模板中預(yù)設(shè)pm為該方法,輸入時你只要輸入pm再按代碼輔助鍵,IDEA將完成代碼的自動輸入。
⒗完美的自動代碼完成
智能檢查類中的方法,當(dāng)發(fā)現(xiàn)方法名只有一個時自動完成代碼輸入,從而減少剩下代碼的編寫工作。
⒘版本控制完美支持
集成了市面上常見的所有版本控制工具插件,包括git、svn、github,讓開發(fā)人員在編程的工程中直接在intellij idea里就能完成代碼的提交、檢出、解決沖突、查看版本控制服務(wù)器內(nèi)容等等。
⒙不使用代碼的檢查
自動檢查代碼中不使用的代碼,并給出提示,從而使代碼更高效。
⒚智能代碼
自動檢查代碼,發(fā)現(xiàn)與預(yù)置規(guī)范有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA將給出優(yōu)化提示,若程序員同意修改IDEA將自動將代碼修改為:String str = "Hello Intellij IDEA";
⒛正則表達(dá)式的查找和替換功能
查找和替換支持正則表達(dá)式,從而提高效率。
21.JavaDoc預(yù)覽支持
支持JavaDoc的預(yù)覽功能,在JavaDoc代碼中Ctrl+Q顯示JavaDoc的結(jié)果,從而提高doc文檔的質(zhì)量。
22.程序員意圖支持
程序員編碼時IDEA時時檢測你的意圖,或提供建議,或直接幫你完成代碼。
最突出的功能自然是調(diào)試(Debug),可以對Java代碼,JavaScript,JQuery,Ajax等技術(shù)進(jìn)行調(diào)試。
比如查看Map類型的對象,如果實現(xiàn)類采用的是哈希映射,則會自動過濾空的Entry實例。
其次,需要動態(tài)Evaluate一個表達(dá)式的值,比如我得到了一個類的實例,但是并不知曉它的API,可以通過Code Completion點(diǎn)出它所支持的方法。
最后,在多線程調(diào)試的情況下,Log on console的功能可以幫你檢查多線程執(zhí)行的情況。
2001年1月發(fā)布IntelliJ IDEA 1.0版本,同年七月發(fā)布2.0,接下來基本每年發(fā)布一個版本(2003除外),當(dāng)然每年對各個版本都是一些升級。3.0版本之后,IDEA屢獲大獎,其中又以2003年的贏得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”為標(biāo)志,從而奠定了IDEA在IDE中的地位。
版本為2018.2.2,2018年8月發(fā)布,更新版本為18.2.2。IDEA的宗旨:“Develop with pleasure”。
目前最新版本為IntelliJ IDEA 2020.1,添加了對 Java 14 的支持、為部分 Web 和測試框架添加新功能,通過數(shù)據(jù)流分析輔助升級了調(diào)試器,新增了 LightEdit 模式,以及支持從 IDE 直接下載和配置 JDK 等!
IntelliJ IDEA分為Ultimate Edition 旗艦版和Community Edition 社區(qū)版本,旗艦版可以免費(fèi)試用30天,社區(qū)版本免費(fèi)使用,但是功能上對比旗艦版有所縮減。
1.寫代碼時用Alt-Insert(Code|Generate…)可以創(chuàng)建類里面任何字段的getter與setter方法。
2.按Ctrl-N再鍵入類的名字可以快速地在編輯器里打開任何一個類。從顯示出來的下拉列表里選擇類。同樣的方法你可以通過使用Ctrl-Shift-N打開工程中的非Java文件。
3.Ctrl-D復(fù)制當(dāng)前行,Ctrl-Y刪除當(dāng)前行。
4.Ctrl-Shift-U,Ctrl+Shift+Alt+U顯示類繼承結(jié)構(gòu)圖,再按Alt-M。
5.Alt-F1 回到當(dāng)前文件所在的目錄結(jié)構(gòu)。
6.Ctrl-Shift-V 粘貼最近復(fù)制過的一些信息。
7.Ctrl-Shift-F7 高亮顯示所有該文本,按Esc高亮消失。
8.Ctrl-E 最近打開的文件。
9.Ctrl-P 方法參數(shù)提示。
10.Alt+ Up/Down 在方法間快速移動定位。
11.Ctrl+W 選中代碼,連續(xù)按會有其他效果。
12.Shift + F6 選中目錄結(jié)構(gòu)的文件,重命名。
13.Ctrl + Alt + F12 進(jìn)入當(dāng)前文件所在磁盤位置。
14.Ctrl + Shift + F搜索文件。
15.Ctrl + Shift + R 搜索指定范圍文件,替換文字。
16.Ctrl + Shift +W 返回上一次選擇的代碼塊狀態(tài)。
17.Ctrl + Shift + J 自動將下一行合并到當(dāng)前行末尾。
18.Ctrl + Tab Switcher 導(dǎo)航 與 Ctrl + E 類似效果。
19.Ctrl + Shift + C 復(fù)制當(dāng)前文件磁盤路徑到剪貼板。
⒈Windows
? Microsoft Windows 10/8/7 (incl.64-bit)
? 4 GB RAM minimum, 8 GB RAM recommended
? 2 GB hard disk space + at least 1 G for caches
? 1024×768 minimum screen resolution
? JDK 1.6 or higher
? Mac OS X 10.5 or higher, up to 10.9 (Mavericks)
? 4 GB RAM minimum, 8 GB RAM recommended
? 2 GB hard disk space + at least 1 GB for caches
? 1024×768 minimum screen resolution
? Java 6
? GNOME or KDE desktop
? 4 GB RAM minimum, 8 GB RAM recommended
? 2 GB hard disk space + at least 1 GB for caches
? 1024×768 minimum screen resolution
? Oracle JDK 6 or JDK 7
IntelliJ IDEA 能夠吸引你的地方
⒈IntelliJ IDEA 主張一個工作空間 (在 IDEA 中叫 project)就寫一個項目,這樣我們的工作空間就跟著項目走,不像 eclipse 中把項目和工作空間分開,難于管理。
⒉使用 IntelliJ IDEA 能夠讓我們開發(fā)者看清楚集成開發(fā)環(huán)境到底為我們開發(fā)者做了一些什么事情, eclipse 看起來足夠強(qiáng)大,但它卻對我們開發(fā)者施展了障眼法,這樣會導(dǎo)致兩個結(jié)果:
① eclipse 會執(zhí)行很多我們不想讓它執(zhí)行的事情;
② 有時 eclipse 不會幫我們做有用的事情,讓我們無法輕松駕馭它。
⒊IntelliJ IDEA 集成的 tomcat 的功能能很方便地幫助我們實現(xiàn)熱部署,我們還可以有選擇地重新編譯和加載部分字節(jié)碼文件,再加上 IDEA 強(qiáng)大的 DEBUG 功能,可以很方便地幫助我們進(jìn)行代碼的調(diào)試工作。
⒋IntelliJ IDEA的智能補(bǔ)全功能強(qiáng)大、快捷鍵功能強(qiáng)大,極大方便了我們的開發(fā)。
⒈Alt菜單與鼠標(biāo)右鍵,執(zhí)行的時候,自然會提示快捷鍵。
⒉Help | Default Keymap Reference,這個是一個大的常用快捷鍵表,建議有空的時候,花點(diǎn)時間過一遍。
⒊Help | Find Action (Ctrl+Shift+A),這個快捷鍵非常有用,是一個命令查找,在任何時間,都可以執(zhí)行此命令,輸入你需要的操作,例如”extract method”,下面會出現(xiàn)命令以及對應(yīng)的快捷鍵。
⒋這就要求你熟悉操作的英文名, 在Eclipse里面可能習(xí)慣了肌肉記憶,不太記得快捷健的英文名了。大不了去Eclipse里面找找,或者翻IDEA的Keymap表,有分類目錄。